﻿using System;


public abstract class Animal
{
    // 动物名称属性
    public string Name { get; set; }

    public Animal(string name)
    {
        Name = name;
    }

   
    public abstract void Enjoy();
}


public class Cat : Animal
{
    // 猫的眼睛颜色属性
    public string EyesColor { get; set; }

 
    public Cat(string name, string eyesColor) : base(name)
    {
        EyesColor = eyesColor;
    }


    public override void Enjoy()
    {
        Console.WriteLine($"{Name}（一只{EyesColor}眼睛的猫）眯起眼睛笑了笑，发出了满足的喵喵声~");
    }
}


public class Dog : Animal
{
    // 狗的毛发颜色属性
    public string FurColor { get; set; }

 
    public Dog(string name, string furColor) : base(name)
    {
        FurColor = furColor;
    }

    public override void Enjoy()
    {
        Console.WriteLine($"{Name}（一只{FurColor}毛发的狗）摇着尾巴兴奋地叫了起来：汪汪汪！");
    }
}


public class Lady
{
    // 女士姓名属性
    public string Name { get; set; }

    // 女士所养的宠物
    public Animal Pet { get; set; }

   
    public Lady(string name, Animal pet)
    {
        Name = name;
        Pet = pet;
    }

    
    public void MyPetEnjoy()
    {
        Console.WriteLine($"{Name}的宠物{Pet.Name}开始表现出高兴的样子：");
        Pet.Enjoy();
    }
}


class Program
{
    static void Main(string[] args)
    {
        // 创建张女士，养了一只猫
        Cat cat = new Cat("咪咪", "蓝色");
        Lady msZhang = new Lady("张女士", cat);
        msZhang.MyPetEnjoy();

        Console.WriteLine(); // 空行分隔

        // 创建王女士，养了一只狗
        Dog dog = new Dog("旺财", "金黄色");
        Lady msWang = new Lady("王女士", dog);
        msWang.MyPetEnjoy();
    }
}
